1. Field of the Invention
This invention relates to a method for the correction of troubles in the digital signal transmission system, and more particularly to a method for the correction of troubles in the digital signal transmission system, which enables system timing to be quickly established when there occurs collision of master packets for one cause or another.
2. Description of the Prior Art
The dissemination of electronic computers and the growth of digital signal processing techniques have recently culminated in successful combination of communication systems with data processing systems and perfection of data communications devoted to on-line data processing. These achievements are attracting mounting public interest and respect.
Particularly in the small-scale communication systems, such as for the intraorganizational communication confined within the premises of a government or public office or of a private corporation, the system which effects communication in the form of packets by means of a transmission cable such as a coaxial cable is attracting particularly keen interest owing to its features such as good economy, high reliability, and prominent efficiency of transmission.
This communication system which makes use of packets requires installation, as in laboratories, of transmission cables adapted to effect transmission in both directions and connection to these transmission cables of numerous personal stations. From these personal stations, data (or messages) divided into data blocks each of 1000 to 2000 bits, for example, are transmitted through the transmission cables. The individual messages are each prefixed with a header covering such information as address and serial number.
In the communication system of this nature, the network itself is a passive transmission medium totally devoid of any control function and the individual personal stations have such control functions thoroughly distributed among themselves.
At a given personal station, therefore, transmission of a message is started when an idle channel is available in the cables. When a packet of data transmitted from one personal station collides with a packet of data transmitted from another personal station, these two personal stations discontinue the transmission of their data. The personal station which has discontinued the transmission, on elapse of a random queuing time, tries to resume the transmission of the data.
Incidentally in this communication system, since individual personal stations have liberty of starting data transmission at any time desired, there is a possibility of packets colliding with each other on the transmission line. The communication system, therefore, entails a problem in that it has no fixed transmission delay time. Because of this problem, it does not perfectly fit the real-time transmission such as for the conversation type vocal communication in which real-time transmission and reception are highly valued.
For the solution of the problem just mentioned, there has been proposed the modified Ethernet system which is capable of providing real-time transmission without depriving the personal stations of their mutual equality.
In accordance with this signal transmission system, the frames which are periodically repeated along time axis are each divided into a plurality of blocks along the time axis. With these blocks as the unit, this system provides the personal stations with chances for packet type communication.
In this signal transmission system, all the personal stations are equally entitled to the use of idle blocks. In the case where a given personal station occupies a specific block over the time necessary for signal transmission, that personal station is periodically given a chance for signal transmission in each of frames repeated on the time base. Thus, this system permits the personal stations to effect real-time transmission of signals by making use of the function described above.
One typical frame configuration for the signals to be used in the aforementioned digital signal transmission system is illustrated in FIG. 1.
Each of the frames which are repeated periodically on the time base consists of N blocks (#1 through #N). And each of the blocks consists of various bit rows, b.sub.1 through b.sub.9, as shown below.
b.sub.1 . . . Rear guard time PA1 b.sub.2 . . . Preamble PA1 b.sub.3 . . . Address bit PA1 b.sub.4 . . . Distance code bit PA1 b.sub.5 . . . Control bit PA1 b.sub.6 . . . Data bit PA1 b.sub.7 . . . Check bit PA1 b.sub.8 . . . End flag PA1 b.sub.9 . . . Front guard time PA1 N.sub.R =5 (bits) PA1 N.sub.C =10 (bits) PA1 N.sub.R =0101 PA1 N.sub.C =1010
The bit rows b.sub.2 through b.sub.5 and the bit rows b.sub.7 and b.sub.8 are essential components for a packet. These bit rows are collectively referred to as "overhead bits." The two bit rows, b.sub.1 and b.sub.9, are collectively referred to as the "guard time."
The term "guard time" means "empty bit rows" which are intended to preclude the situation in which packets in adjacent blocks may possibly be caused to overlap, if partially, owing to the delay time which occurs during the propagation of signals on a coaxial cable.
In the bit rows forming this guard time, the backward guard time b.sub.1 serves to protect the trailing one of any two adjacent packets against the trouble of overlapping and the forward guard time b.sub.9 similarly to protect the leading packet against the trouble.
The sum of the number of bits of the rear guard time b.sub.1, and that of bits of the front guard time b.sub.9, will be represented as g bits and the guard time (b.sub.1 +b.sub.9) will be represented hereinafter as T.sub.g.
In the digital signal transmission system proposed as described above, when none of the personal stations in the system is transmitting signal, all the personal stations have a chance, equally and at any time at all, to start sending out signals in the aformentioned frame configuration. Thus, the particular personal station which is the first to start sending out signals onto the transmission cable will take the initiative in the synchronization of frames.
Once the frame synchronization has been established as described above, all the personal stations are enabled to keep watch on the state of signals being transmitted on the transmission cable.
As will be described fully afterward, the user devices at the personal stations are each provided with a memory adapted to memorize the condition of occupation of individual blocks by signals in the frames. Thus, all the personal stations are allowed to register relevant blocks based on the incoming packet signals addressed to themselves.
After the particular personal station has established the frame synchronization, any of the other personal stations is allowed to send out packet signals by selecting empty blocks based on the information stored in the aforementioned memory and loading these empty blocks with packet signals desired to be transmitted.
In this case, the timing by which the personal stations are allowed to send out their own packet signals poses a problem.
For the sake of explanation, let us assume that, as illustrated in FIG. 2, a coaxial cable 3 has its opposite ends connected to impedance matching terminators 1, 2, a personal station C is located at the middle point of the coaxial cable 3, and a personal station S located between the personal station C and the terminal 1 is already in the process of transmitting signals on the coaxial cable 3.
In this case, the packet signals which are being sent out by the personal station S are received by the personal station C and the other personal stations, R.sub.1 through R.sub.4, on the coaxial cable 3 at different points of time, depending on the variation in the signal propagation delay time on the cable 3.
If the personal stations randomly send out their own signals without regard to the other personal stations, then there is a fair possibility that the packets issuing from such personal stations will overlap (collide with) each other on the coaxial cable 3.
For the purpose of precluding this problem, the aforementioned signal transmission system makes effective use of the aforementioned concept of guard time T.sub.g, in establishing the synchronization of system timing.
To be more specific, in this signal transmission system, the guard time T.sub.g, is fixed at two or more times the signal propagation delay time required to cover the distance between the centrally located personal station C, datum position, and the most distant personal station and the transmission of signals is effected so that, at the receiving point of the centrally located personal station C, the packets issuing from the individual personal stations will be arranged as separated by equal intervals.
FIG. 3 provides more specific illustration of the working of the signal transmission system. The diagram depicts the system based on the assumption that while the personal stations of the system are connected as illustrated in FIG. 2, the personal station S is already in the process of transmitting signals and the other personal stations, R.sub.1 through R.sub.4, are about to start sending out packet signals.
In this case, the personal stations R.sub.1 through R.sub.4 which follow the personal stations S in the order of signal transmission determine their own points of timing for sending out their own transmission packets so that the personal station C, the datum point, will begin to receive the transmitted packets one guard time T.sub.g, after the personal station C completes reception of the transmission packets (or transmission S packets) from the personal station S.
To determine such timing for the issuance of signals, the personal stations R.sub.1 through R.sub.4, on receiving the packet signals transmitted on the coaxial cable 3, first examine the address bits (b.sub.3) of the received packet signals and discern the reception of packets from the personal station S (reception S packets).
Further, the personal stations R.sub.1 through R.sub.4, based on the signal propagation delay times between the personal station S, the centrally located personal station C, and their own stations, determine the points of time at which the arrival of reception S packets at the point of reception of the personal station C is completed.
These points of time, as illustrated in FIG. 3, are later than the points of time at which the reception of the reception S packets at the personal stations R.sub.1 and R.sub.2 is completed and earlier than the point of time at which the reception of the reception S packets at the personal stations R.sub.3 and R.sub.4 is completed.
After the personal stations R.sub.1 through R.sub.4 have determined the point of time at which the reception of reception S packets is completed with reference to the personal station C as the datum point, the particular one of these four personal stations which desired to send out signals begins to send out packet signals [or transmission R.sub.i packets (i=1 to 4)] at the point of time which is earlier than the determined point of time mentioned above by an interval equivalent to the signal propagation delay time required to cover the distance between its own station and the personal station C.
The packet signals which have been sent out as described above begin to be received (as reception R.sub.i packets) at the personal station C as the datum point after elapse of one guard time T.sub.g, from the time of completion of the reception of reception S packets as illustrated in FIG. 3.
This adjustment of the timing for sending out signals is accomplished by establishing frame synchronization and block synchronization at all the personal stations concerned.
Specifically, the personal stations are adapted, as described fully afterward, to reset periodically (at a fixed timing) the frame counter and the block counter which take count of the clock signals fed out by their own oscillators. Because of this function, the personal stations are able to establish frame synchronization and block synchronization within the tolerance of frequency of the clock signals.
In a system constructed as illustrated in FIG. 2 and FIG. 3, for example, while the personal station S is transmitting S packets by using the first block #1, the personal stations R.sub.1 through R.sub.4 control the aforementioned counters and establish the frame and block synchronizations so that the second block #2, for example, will be started after elapse of the time T.sub.b9, according to the formula (1): EQU T.sub.b9 =T.sub.g/2 +.vertline.T.sub.g/2 -T.sub.SO .vertline.-.vertline.T.sub.SO -T.sub.RiO .vertline. (1)
Wherein i=1 to 4
from the point of time at which the reception of reception S packets is completed. The time T.sub.b9 is hereinafter referred to as "front guard time".
In the aforementioned formula (1), T.sub.SO denotes the signal propagation delay time required to cover the distance between the reference end of the coaxial cable 3 (such as, for example, the terminal 2 in the diagram of FIG. 2) and the personal station S and T.sub.RiO denotes the signal propagation time required to cover the distance between the aforementioned end to the personal station R.sub.i (i=1 to 4).
The second term of the right member of the formula (1), .vertline.T.sub.g/2 -T.sub.SO .vertline., denotes the signal propagation delay time required to cover the distance between the personal station C and the personal station S and the third term, .vertline.T.sub.SO -T.sub.Rio .vertline., denotes the signal propagation delay time required to cover the distance between the personal station S and the personal station R.sub.i.
As described above, in the digital signal transmission system, the front guard time T.sub.b9, namely the interval between the time that the reception of packets sent out by the master station which takes the initiative in the frame synchronization (personal station S in the preceding illustration) (hereinafter referred to as "master packets") is completed and the time that the next block timing is started, is determined by each of the personal stations in accordance with the pertinent one of the aforementioned formulas, using the relationship of position (or distance) with reference to the other personal station and the results are stored in the form of a conversion table in the memory device such as ROM (read only memory), for example.
This memory device is adapted so that when the code designating the transmitter of the master packet is injected into the memory device through the address designation terminal thereof, the memory device will feed out of its output terminal the signal corresponding to the front guard time T.sub.b9.
Evidently, conversion tables containing data on front guard time for individual personal stations obtainable in accordance with the aforementioned formula (1) have their contents varied from one personal station to another. They have a further disadvantage that their contents of memory expand rapidly as the number of personal stations increases.
As the result, design or production of a memory device such as ROM which is used for memorizing these conversion tables calls for time and labor so great as to impede the realization of a communication system utilizing this method.
As a solution of this problem, there has been proposed a method which comprises causing distance codes which exclusively depend on signal propagation delay times between personal station on the transmission cable to be included in advance in the address codes of packets to be sent out by personal stations and allowing the signal propagation delay time between two given personal stations to be calculated on the basis of the distance codes and the address codes.
In this method, the distance codes are transmitted as included in both the address number of the receiving personal station to which the packets are addressed and the address number of the transmitting personal station. At the receiving personal station, the calculation of the pertinent one of the aforementioned formula (1) is performed on the basis of the two sets of distance codes.
In this case, since each of the personal stations is required to memorize distance codes of all the other personal stations against their corresponding address numbers, it must be provided with a memory device such as a ROM (read only memory) or RAM (random access memory), for example.
The provision of such memory devices for all the personal stations evidently entails a great addition to the cost of equipment. Moreover, when ROM's are adopted, a change in the location of any personal station necessitates replacement of the ROM's used at all the personal stations. This fact divests the system using ROM's of its economic feasibility.
When RAM's are adopted, a change made in the location of any personal station necessitates that particular personal station to cause the contents of the RAM's at all the other personal stations to be renewed wholly by the use of the transmission cable.
Further, the system must be provided with a proper backup power source (batteries) adapted to prevent the contents of such memory devices from being erased during a failure of the commercial power line.
There has also been proposed a method which enables system timing to be established by giving the distance code of a transmitting station in advance only to the address code of the master packet thereby enabling the individual personal stations to calculate timing for packet transmission on the basis of such data and to materialize the establishment of the system timing (as disclosed, for example, by U.S. patent appln. Ser. No. 509,215 filed on June 20, 1983 by the applicant of this invention).
In this case, the particular packet carrying the data which the station just changed to a master station elects to transmit turns into a master packet.
When the data to be transmitted by the master station have run out, the master station must transfer the role of master station to some other station which happens to be engaging in communication at that moment.
For the purpose of ensuring this transfer of the status of master station and in consideration of measures called for in case of trouble, the procedure involved in the transfer turns out to be quite complicated.
As means for avoiding this complexity, there has been proposed a method which has one specific station designated as a stationary master station by having one specific block constantly allocated to that specific station and causes this stationary master station to sent out master packets at all times in that block, keep watch of the entire system, and serve as a central station for maintenance (Japanese patent application No. 38714/81).
This method, however, necessitates one specific station to serve as a stationary master station and another stationary master station to serve as a standby required in case of trouble.
As one possible remedy for this situation, there may be conceived a method which enables all the personal stations connected to the transmission line to function on an equal status and causes one of these personal stations to be converted into a constant master station under a certain condition.
FIG. 4 represents in outline a communication system for materializing a typical digital signal transmission system as described above.
In this communication system, a coaxial cable 3 laid as a channel has its opposite ends connected to impedance-matching terminators 1, 2 having electrical resistance equal in magnitude to characteristic impedance of the said cable.
The personal stations are connected through the respective T connectors (taps), 4.sub.1 -4.sub.N, to the coaxial cable 3. All these personal stations have a basically identical structure. To avoid wasteful repetition, therefore, the essential components of the personal station, S, connected through the T connector 4.sub.1 are illustrated representatively in the diagram.
Each of the personal stations is provided with user equipment 5 incorporating a computer and a telephone.
The user equipment 5 is further provided with a transmitter (encoder) 51 for transmitting digital signals of the unit of packets to some other personal station, a receiver (decoder) 52 for receiving digital signals of the unit of packets transmitted by some other personal station, and a terminal control unit 53 for controlling terminals.
The signals issued from the transmitter 51 are temporarily stored in a transmission buffer memory 61. The stored outgoing signals are then read out of the buffer memory 61 at a prescribed time by clock signals equalling the transmission speed on the coaxial cable 3 serving as a transmission medium. The signals thus read out are converted into packets of a prescribed pattern by a transmit logical circuit 62. These packets are sent through a transmit buffer amplifier 63 and forwarded via the T connector 4.sub.1 onto the coaxial cable 3.
All the packet signals which are being transmitted on the coaxial cable 3 are sent through the T connector 4.sub.1, received by a reception buffer amplifier 64, and supplied to a receive logical circuit 65.
The receive logical circuit 65 selects, out of all the incoming packets, only the packets addressed to its own personal station and puts the selected packets to temporary storage in a receive buffer memory 66. The packet signals thus kept in storage are read out continuously by the use of a prescribed clock in the receiver 52. Thus are obtained received output signals.
The transmission and reception of signals are accomplished as described above. The transmission clock which is used in this case is generated by a transmit clock oscillator 67. A frame counter 68 serves to divide this transmit clock to produce a block timing signal 72 and a frame timing signal 73.
A transmission control unit 69 effects control of the terminal control unit 53 in accordance with reception signals addressed to its own personal station and derived from the receive logical circuit 65 and, at the same time, controls the transmit logical circuit 62 in accordance with instructions from the terminal control device 53.
A collision detector 74 serves, at the time that the first packet signal is issued on the block selected by its own personal station, to check and confirm whether or not that packet signal has collided with a packet signal issued from some other personal station.
In the method for the synchronization of system timing for the digital signal transmission system as described above as the distance codes for the personal stations S, C, and R, those codes which are exclusively related to the respective durations of signal propagation delay time on the coxial cable 3 are used.
For example, the duration of signal propagation delay time proportionate to the distances from the terminator 2 disposed at the lower end in the diagram of FIG. 4 taken as the datum point to the respective taps 4.sub.1 through 4.sub.N on the upwardly extending coaxial cable 3 are used as distance codes.
Evidently in this arrangement, the lengths of signal propagation delay time between the personal stations are represented by the respective differences between the distance codes of such personal stations. More practically, one bit of the digital signals being transmitted on the coaxial cable 3 may possibly be used as the unit for the distance codes.
For the sake of illustration, let us assume that the distance from the terminator 2 to the tap 4.sub.N of the personal station R which verges on occupying the second block #2 to be 100 m (meters) and the distance from the terminator 2 to the tap 4.sub.M of the reference station C is 200 m.
It is further assumed that the signal propagation delay time on the coaxial cable 3 is 5 nS (nanoseconds) per meter and the speed of digital signal transmission is 10 Mbps (megabit/second). In this case, therefore, the width of one bit is 100 nS. Thus, the distances 100 m and 200 m correspond to 5-bit width and 10-bit width respectively.
On the assumption that the distances between the personal stations R and C and their respective taps 4.sub.N and 4.sub.M can be ignored, the distance codes N.sub.R and N.sub.C at the personal station R and C may be represented by the following numbers of bits.
By the binary code notation, they are represented as follows.
When the guard time T.sub.g, and the distance code N.sub.S, of the master station S which occupies the first block #1, are similarly represented by bits, the arithmetic operations of the aforementioned formula (1) amounts to simple binary operations.
The receive logic circuit 65 is provided with an arithmetic circuit and a programmable timer for computing the front guard time T.sub.b9. It feeds out the reset signal 71 after elapse of the front guard time T.sub.b9, from the time at which the reception of reception master S packets is completed.
The reset signal 71, on arrival at the frame counter 68, resets this counter. Consequently, the block timing 72 and the frame timing 73 supplied to the transmit logic circuit 62 are synchronized.
The manner in which the synchronization of system timing is actually attained in a communication system configurated as illustrated in FIG. 4 will be described below.
When a personal station is requested to start data transmission, this personal station can determine whether it should turn itself into a master station by checking the existent condition of registration of a block control memory inside a transmission control unit 69 thereby finding whether or not transmission of packet signals is proceeding on the coaxial cable 3.
This personal station, on confirming that none of the personal stations is transmitting any signal packet, effects new transmission of a master packet and, on succeeding in effecting this new transmission, turns itself into a master station.
The master packet is any other packet which occupies a block with a specific number such as, for example, #1 block, and carries therein the data required by each personal station for establishing its own system timing and the packet for carrying the data indicating which personal station being about to effect data transmission elects to transmit (hereinafter referred to as "data packet").
In this case, if some other personal station happens to transmit a master packet at the same time by following the same procedure, there is a possibility that the two master packets will collide with each other. When this collision happens, the situation may be corrected by adopting any of several retransmission control methods heretofore proposed such as, for example, the BEB (Binary Exponential Backoff) protocol.
The personal station which succeeds in sending out the master packet as described above starts transmitting data packets containing the data desired to be transmitted, from the next frame. When the data to be transmitted from this master station run out, although the transmission of data packets is terminated, the transmission of master packets is still continued thereafter.
Any other personal station (slave station) than the master station checks all the incoming packets and finds out whether they are master packets or not.
The identification of a master packet may be effected by using a certain specific address code or by following the practice of filling the slot (bit train) b.sub.4 in the packet structure described above, only in the case of a master packet, with the distance code of the master station and, in the case of any other station, invariably with "0" or "1", for example.
Otherwise, the discrimination of a master packet from other data packet may be effected by allocating in advance to the slot b.sub.5 (control bit) a special bit serving to designate a master packet and finding out the status of the bit held in the slot at the time of discrimination. By combining these methods, the discrimination of a master packet can be accomplished with increased certainty.
If a method is adopted which is not required to rely for discrimination of a master packet on the distance code in the slot b.sub.4, the slot b.sub.4 in the data packet may be used for some other purpose.
When a given packet is identified to be a master packet, the distance code in the slot b.sub.4 is transferred to the system timing arithmetic circuit located within a receive logical circuit 65 illustrated in FIG. 4 to carry out the aforementioned operation for the establishment of system timing.
FIG. 5 represents a timing diagram for illustrating the condition of master packet transmission as described above.
Part (A) of FIG. 5 represents a timing diagram illustrating a case wherein Station A issues a transmission request in the first frame while the transmission line is empty as in the first frame and subsequently succeeds in transmitting a master packet 9a in the first block of the next first frame, i.e., the second frame (without involving any collision of master packets).
In each of the third and subsequent frames, Station A sends out a master packet 9a in the first block and a data packet 9as in some other proper block.
Part (B) of FIG. 5 represents a timing diagram illustrating a case wherein Station A and Station B severally issue transmission requests in the first frame while the transmission line is empty as in the first frame and, as the result, the respective master packets 9a, 9b collide with each other in the next first frame, i.e., the second frame.
When such collision of master packets as described above takes place, Station A and Station B which have sent out these master packets severally repeat the transmission of master packets after preset intervals of their own. In the illustrated case, Station B succeeds in transmitting a master packet 9b in the first block of an i'th frame.
Thereafter, in each of the (i+1)'th and subsequent frames, Station B transmits the master packet 9b in the first block and the data packets 9as, 9bs respectively of Station A and Station B are transmitted in the other blocks.
In either of the cases illustrated in Part (A) and Part (B) of FIG. 5, the master station continues to transmit only master packets even after the data of its own to be transmitted have run out.
It is not impossible that while the master station is continuing to transmit only master packets, the continued transmission of master packets will be impeded as when the power supply to the master station is broken or the master station itself develops trouble.
In this case, if no signal is present in the transmission line, then there ensues no special trouble because the particular personal station beginning to start data transmission next converts itself into a master station by following the procedure described above.
If some signals happen to be present on the transmission line, then the individual personal stations are caused by their own oscillators to assume the state of free run. As the result, the system timings of the personal stations are gradually deviated eventually to a point where the system wil no longer provide required communication.
To prevent this mishap, the individual personal stations or the particular station having the highest priority for qualification as next master station keeps watch constantly on the presence of master packets. When not a single master packet is detected in any one frame, the trouble which would otherwise ensue can be precluded by causing the personal station having the highest priority for qualification as next master station (such as, for example, the personal station using the block of the smallest possible number) to transmit a master packet in the block of the particular number in which the immediately preceding master station has been transmitting master packets.
By this arrangement, the necessity for performing the complicated procedure of transfer of master packets for each communication unit can be obviated and the configuration of system can be simplified.
FIG. 7 represents a timing diagram illustrating a case wherein master packets have disappeared.
This diagram portrays a situation wherein the master packets 9a sent out from Station A have disappeared at #1 block indicated by the arrow Y in the second frame and, in consequence of this disappearance of master packet, Station B which happens to be using the block of the smallest possible number in the third frame takes over the function of master station and sends out master packets 9b of its own in the 190 1 block in which Station A has been transmitting its own master packets.
In this case, it is possible that trouble develops exclusively in the portion of Station A serving to transmit master packets and the data packets 9 as from Station A are normally transmitted even in the second and subsequent frames as indicated by a dotted line. In this case, the personal stations other than Station A are allowed to memorize the block being used by Station A in the block control memory within the transmission control unit 69 illustrated in FIG. 4 and the particular station, other than Station A, which happens to be using the block of the smallest possible number (Station B in the case of FIG. 7) sends out master packets in the next frame.
When this method is adopted, however, there is a possibility that collision of the master packets under transmission will occur owing to some trouble or other.
If the procedure of retransmission control previously described is adopted to correct the trouble possibly ensuing from this collision of the master packets, there may arise a situation in which not a single master packet is present in several frames to some tens of frames in a row. As the result, the system timings are gradually deviated, as described above, even to a point where the system will fail to provide normal data transmission.